home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Design
/
WB Collection.iso
/
datatypes
/
jfif_dtc
/
jfif.guide
(
.txt
)
< prev
next >
Wrap
Amigaguide Document
|
1996-04-07
|
20KB
|
355 lines
@database JFIF.guide
@$VER: JFIF.guide 0.1 (17.9.94)
@node main "JFIF DataType Documentation - Contents"
---------------------------------------------------------------------------
Tower JFIF DataTypes Class & Tower JPEG Codec Class
Copyright
1994 Christoph Feck, TowerSystems
All Rights Reserved.
-
JFIF DataType Preferences (MUI Application)
Copyright
1994 Matthias Scheler
All Rights Reserved.
This software is based in part on the work
of the Independent JPEG Group
---------------------------------------------------------------------------
@{" Introduction " link Introduction} What is the JFIF datatype?
@{" Requirements " link Requirements} What system do I need?
@{" Installation " link Installation} Before using the datatype.
@{" Configuration " link Configuration} The preferences editor.
@{" Tips & Hints " link Tips} Some useful notes.
@{" Known Bugs " link Bugs} What does not work?
@{" History " link History} What is new in this version?
@{" Acknowledgments " link Acknowledgments} Who I want to thank.
@{" Disclaimer " link Disclaimer} Short: Use it at your own risk!
@{" Copyright " link Copyright} About legal issues.
@{" License " link License} What you have to agree on.
@{" Giftware " link Giftware} A call for courage.
@{" Support " link Support} About updates and support.
@{" Author " link Author} Where you can reach me.
@endnode
@node Introduction "JFIF DataType Documentation - Introduction"
Introduction
************
Starting with OS Release 3 the Amiga has the concept of `datatypes', which
allow reading and viewing files of different types and formats. MultiView
utilizes these datatypes and displays any file for which you have a data
types class installed. Already supplied on your Workbench disk is the ILBM
datatype for loading regular IFF-ILBM pictures.
Using this JFIF datatype you can enhance the functionality of MultiView and
other datatypes-aware applications: The Tower JFIF DataTypes Class allows
you to read and view JFIF files. JFIF is the de facto standard file format
for JPEG compressed images.
@endnode
@node Requirements "JFIF DataType Documentation - Requirements"
Requirements
************
To use datatypes, you need Amiga OS Release 3. Older versions will not be
sufficient.
You should have 2 megabytes main memory, as well as a harddisk to store
temporary files. It may or may not work on a floppy based system.
A 68020 CPU is not required, but recommended; JPEG files need much time to
decode. The presence (or absence) of a math coprocessor does not affect
decoding time.
The installation script requires the Commodore Installer utility. It is
not included.
One of the preferences editors needs MUI. MUI is not included. If you do
not have MUI, you can still use the regular GadTools version.
@endnode
@node Installation "JFIF DataType Documentation - Installation"
Installation
************
Please use the supplied installation script to install all files. Manual
installation is disrecommended.
The datatype uses the Tower JPEG Codec Class to decode (decompress) the
JPEG data within the JFIF file. This codec, including codec.class, picture
codec and tower.library, must be correctly installed. The installation
script will do this for you. If you already have the JPEG codec installed,
be sure to not overwrite newer versions with older versions.
@endnode
@node Configuration "JFIF DataType Documentation - Configuration"
Configuration
*************
The JFIF DataType Preferences Editor allows you to modify several options
of the JFIF datatype. The installer copies the editor to the Prefs drawer
of your system partition. When you start the editor, you will see a window
with a listview on the left side, several cyclegadgets and checkbuttons on
the right side, and the usual Save/Use/Cancel buttons on the bottom.
The listview is used to select, edit, add, and remove the names of the
applications, for which you want to control the settings. The actual name
of the application is the process/task name, or the command name for Shell
processes. The name will usually be the filename of the program you
started. You can enter AmigaDOS patterns as the name, the first matching
entry decides which settings apply.
Available Options
-----------------
The option gadgets on the right side of the window allow you to edit the
settings. Following settings can be changed:
- "Rendermode" selects the basic type of output. In conjunction with the
numeric gadget you can set the number of colors you want in the picture:
- For HAM mode, 16 colors will force HAM6, 64 colors will force HAM8
(even if you have no AGA chipset), and 0 means automatic selection.
- For colormapped and grayscale modes, the number of colors directly
affects the size of the colormap, and the bitmap's depth. If you use
0 colors in those two modes, you will get the maximum number (256).
- "Scaling" (1:1, 1:2, 1:4, or 1:8) controls the size of the picture. It
will also drastically reduce memory requirements and decoding time.
- "Dithermode" allows you to select the type of dithering. Currently this
does not affect HAM modes.
- "Single-Pass Quantization" instructs the datatype to use a fixed palette,
instead of choosing an optimized palette. For now, HAM modes will always
use a static palette.
- The "Slow ... Method" options enable slower, but higher quality modes.
- "Find Best Display Mode" controls the selection of the screenmode the
picture will get. If this button is not checked, a default mode is used.
- The "Large Histogram" option affects the size of the histogram. The
histogram is required to select an optimized color palette. If enabled,
a full-sized histogram is computed. This will notably increase quality,
but will also consume much more memory. If the memory is not available,
a temporary file will be created on your harddisk.
- The "Progress Indicator" is very useful for slower machines. It will
show you a growing bar, so you can estimate the time required to finish.
Additionally, you can abort the operation by closing the small window.
This will not work, if the datatype is currently busy with choosing the
colormap. The window will open on the same screen DOS requesters would
open on.
MUI versus GadTools
-------------------
Depending on your selection during installation, you will either have a
GadTools version, or a MagicUserInterface (MUI) version of the editor.
Both are substantially the same; the remaining differences are:
- The GadTools version will always display the default settings at the top
of the listview, but still uses them only when no matching application
is found.
- In the MUI version, you can change the order of applications in the
listview using the Up/Down buttons. This is useful to temporarily delete
the settings of a particular application by moving it below the `Default'
entry. To add a default settings entry, enter an empty name (just press
Return).
@endnode
@node Tips "JFIF DataType Documentation - Tips & Hints"
Tips & Hints
************
If you only want to display a picture, the settings should match the actual
capabilities of your display hardware. For example, on an ECS Amiga it is
not recommended to let the datatype return a 256 color bitmap. The color
reduction in the datatypes system does not work as good as the algorithms
in the JFIF datatype. You will gain both speed and quality, if you reduce
the number of colors to the amount displayable by your system.
This is also true for images viewed on a pen-sharing screen, such as the
Workbench screen. Even if you have a 256 color Workbench, not all colors
can be used by datatypes. You may end up getting nicer pictures by using
e.g. 128 colors. If you intend to view multiple images on one screen,
reduce the amount of colors even more. Otherwise you may be left with an
unusable set of colors for the next picture. This is in particular true
for Multimedia applications, where many images must be displayed on a
single screen.
If your screen has no sharable pens (e.g. you have a 4 color screen), you
should try the grayscale mode with up to 4 grayscales. The dithering will
be much nicer, compared to a 256 color or 256 grayscale image.
It is highly disrecommended to use a JPEG image as a Workbench or window
backdrop, or as a pattern for MUI. The decoding will probably take too
long. Instead, use MultiView to save the image in IFF-ILBM format. This
format can be loaded much faster. Be sure to reduce the number of colors,
otherwise the backdrop may steal all free pens you have. For permanent
backdrop images on a 256 colors screen, 16 or 32 colors should be enough.
Datatypes decode pictures into a standard bitmap in Chip memory. If you
are low on Chip memory, you should scale the picture.
Most (but not all) JPEG files conform to the JFIF standard; only these can
be read with the JFIF datatype. Formats such as PICT/JPEG, TIFF/JPEG, or
HSI are not supported, neither are `plain' (raw) JPEG files without a JFIF
marker.
@endnode
@node Bugs "JFIF DataType Documentation - Known Bugs"
Known Bugs
**********
@endnode
@node History "JFIF DataType Documentation - History"
History
*******
Release 1, on 12-Dec-94:
- If SYS:Classes didn't exists, it created the directory, which is useless,
since LIBS: doesn't point to it. It now writes to LIBS: directly.
- Pretend mode failed, if you had not installed the ENV settings yet.
- First public release.
Gamma Release, released on 23-Nov-94:
- Oops... tower.library/GetString was broken, causing a full hang whenever
a message needed to be displayed.
- Various Installer script fixes, added reboot code.
- Ignores path even for process/task names.
Beta-2, released on 17-Nov-94:
- Reduced stack usage in two pass quantization (shouldn't crash IPrefs
anymore).
- Fixed a couple of bugs in tower.library. One bug could cause the machine
to crash.
- BestModeID now tries to use an interlaced mode for lores HAM.
- Now ignores the path when matching command names.
- Fixed keyboard shortcuts in MUI version.
- Fixed a bug in the datatype, which prevented it from dithering 256 colors
down to an ECS screen.
- Moved HAM conversion to picture.codec.
- Fixed a bug in the prefs editor, which caused settings to be lost in some
cases.
- The JPEG codec has been recompiled using the official V5 IJG code.
- Now opens the progress window on the same screen DOS requesters open on.
- Added documentation, Installer script, and cleaned up the distribution.
Beta-1, released on 06-Sep-94:
- Initial beta release.
@endnode
@node Acknowledgments "JFIF DataType Documentation - Acknowledgments"
Acknowledgments
***************
The following people deserve to get especially mentioned in this place:
- The Independent JPEG Group. I used their source to create the JPEG codec
class. Even while the source is excellent, you should not use it on the
Amiga; use the JPEG codec instead. For details, refer to the Copyright
section.
- Matthias `Tron' Scheler. He created the MUI version of the preferences
editor. Originally, there was no preferences editor at all; I wrote the
GadTools version only after I saw how much memory MUI needs :) Also, I
must thank him for allowing me to include it in this distribution.
- All my beta testers for their suggestions and bug reports.
- Osma Ahvenlampi and Mark Rose for creating MagicWB style icons for the
preferences editor.
@endnode
@node Disclaimer "JFIF DataType Documentation - Disclaimer"
Disclaimer
**********
Standard disclaimer:
THERE IS NO WARRANTY FOR THE SOFTWARE TO THE EXTENT PERMITTED BY APPLICABLE
LAW. EXCEPT WHERE OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU.
SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING, REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE SOFTWARE
AS PERMITTED BELOW, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
@endnode
@node Copyright "JFIF DataType Documentation - Copyright"
Copyright
*********
The Tower JFIF DataTypes Class and the Tower JPEG Codec Class are Copyright
1994 Christoph Feck, TowerSystems. All Rights Reserved.
The JFIF DataTypes Preferences Editor (MUI Application) is Copyright
1994
Matthias Scheler. All Rights Reserved. Inclusion in this distribution per
agreement.
This archive may only be distributed in unmodified form. No files may be
added, changed or removed. You may not charge for this archive, other than
the cost of the media and duplication fees, as long as they don't exceed
the fees taken by Fred Fish. Distribution is allowed in all forms, such as
BB systems, floppy or compact disks, and ftp sites.
Any inclusion in a commercial, semi-commercial or Shareware distribution
requires the written permission of the author.
About the JPEG codec class
--------------------------
The license described in the next section only applies to the JFIF datatype
archive as a whole, including the JPEG codec and all other files. For the
Tower JPEG Codec Class (including needed super classes) a separate license
may be obtained to distribute it together with your programs or software.
This license is available for both freely distributable and commercial
software. To obtain the license, you must contact the author, and ask for
a license to distribute the Tower JPEG Codec Class.
The codec is a shared BOOPSI class library for reading and writing JPEG
files. A linkage library will not be available. Programs using the class
will automatically benefit from any future improvements made to the codec.
Interfacing is very easy, existing applications can be modified to utilize
the class using minimal work. It is designed to process 24 bit data on a
scanline base. A developer kit, including C header files, example code,
and documentation, can be obtained from the author.
@endnode
@node License "JFIF DataType Documentation - License"
License
*******
These are the conditions you must agree on before and while using the JFIF
datatypes class, the JPEG codec class, and all other included files:
You may copy and distribute verbatim copies of the classes, programs, and
documentation as you receive it, in any medium, provided that you
conspicuously and appropriately publish only the original, unmodified files
with all copyright notices and disclaimers of warranty intact and including
all the accompanying documentation and anything else that came with the
original archive.
Except where otherwise stated in this documentation, you may not copy
and/or distribute the classes and programs without the accompanying
documentation and other additional files that came with the original. You
may not copy and/or distribute modified versions of the classes and
programs.
You may not copy, modify, sublicense, distribute or transfer the files
except as expressly provided under this license. Any attempt otherwise to
copy, modify, sublicense, distribute or transfer the files is void, and
will automatically terminate your rights to use the files under this
license. However, parties who have received copies, or rights to use
copies, from you under this license will not have their licenses terminated
so long as such parties remain in full compliance.
By copying, distributing and/or using the files you indicate your
acceptance of this license to do so, and all its terms and conditions.
Each time you redistribute the files, the recipient automatically receives
a license from the original licensor to copy, distribute and/or use the
files subject to these terms and conditions. You may not impose any
further restrictions on the recipients' exercise of the rights granted
herein.
You may not disassemble, decompile, re-source or otherwise reverse-engineer
the classes and programs.
You agree to cease distributing the files if requested to do so by the
authors.
@endnode
@node Giftware "JFIF DataType Documentation - Giftware"
Giftware
********
The creation and support of this and future software has taken (and will
continue to take) a large amount of my time.
I strongly encourage you to think a minute about the effort I put into this
software and about the improvement it makes to your system or the joy you
would miss, if I had not released it. I am pretty sure you will conclude
that my work is not worthless at all, but rather deserves a small donation
or gift.
I decided not to `cripple' the software by any means. The Shareware market
seems to get flooded rapidely with such limited programs. If I should get
to notice that you enjoy my creation without even bothering to express your
pleasure by sending a small amount of money, or by showing any other sign
of acknowledgment, I could also see the need to release future versions or
future software as Shareware, with some options disabled or crippled.
Please consider the consequences this would have.
Thank you.
@endnode
@node Support "JFIF DataType Documentation - Support"
Support
*******
No software is perfect. If there are any new versions available, perhaps
because there is a bug fixed or a feature was added, I will announce it in
the international Usenet newsgroup comp.sys.amiga.announce, and will upload
it to the Aminet ftp sites.
I am open to suggestions and comments. Also, if you have problems with the
datatype, you can contact me to ask for help. However, you cannot expect
me to do everything. You get the support for free, and I must keep an eye
on my CS studies, so be patient, if you do not get a reply within a week or
@endnode
@node Author "JFIF DataType Documentation - Author"
Author
******
To send suggestions, bug reports, comments, gifts, flames, etc., you can
contact me at one of the following addresses:
Christoph Feck
TowerSystems
Balbierstrasse 6
D-67663 Kaiserslautern
Germany
Email: feck@informatik.uni-kl.de
IRC: Pepo (frequently on #amiga and #amigager)
I will forward any mail regarding the MUI version of the preferences editor
directly to Matthias Scheler.
Thank you for your patience reading this!
3k// Christoph Feck, TowerSystems - BOOPSI Class Development
\\X/ Amiga - Intuition inside.
@endnode